package com.opgea.crm.services;

import java.util.Date;
import java.util.List;


import com.opgea.crm.common.vo.ActivityVo;
import com.opgea.crm.common.vo.DatePeriodVo;
import com.opgea.crm.domain.entities.Activity;
import com.opgea.crm.domain.modal.QualifierModel;

public interface ActivityService {

	public void create(Activity activity);
	public void update(Activity activity);
	public void remove(long id);
	public Activity find(long id);
	public List<ActivityVo> findAll();
	public List<ActivityVo> findAllByLeadId(long leadId);
	public List<ActivityVo> findAllByActivityType(long leadId, int activityType);
	public List<ActivityVo> findDynamically(String criteria, String value);
	public List<ActivityVo> findReport(String periodFrom, String periodTo,
			 String statusType, String priority, 
			 String activityType );
	public List<QualifierModel> getActivitySearchCriteriaTypes();
	public DatePeriodVo findPeriod(String periodQualifier);
	public List<ActivityVo> findAllByDuration(Long assignedToId, Date from, Date to);
}
